package com.jfz.quick.core.db.fastjson;

import com.jfz.quick.core.db.tools.SerializableCover;

import java.lang.reflect.Type;

/**
 * <注意！！不能再使用途中去掉或增加fastJson这会造成之前序列化的数据无法正确的从数据库中反序列化出来/>
 * 如果前期没有引入fastJson需要DisableFastJson改为true
 * 默认推荐使用fastJson实现序列化二进制（为了框架轻量化并没有继承fastJson）
 * 自动探测当前工程是否引用fastJson环境（缓存fastJson相关对象以及方法避免因为反射造成耗时）
 * 当前反射类允许线程并发
 * package kotlinTest:com.lightormdatabase.fastjson.JSON.class
 * 作者：zyq on 2017/8/23 15:25
 * 邮箱：zyq@posun.com
 */
public class FastJsonCover implements SerializableCover {
    @Override
    public String Object2String(Object obj) {
        return com.alibaba.fastjson.JSON.toJSONString(obj);
    }

    @Override
    public Object String2Object(String string, Type clazz) {
        return com.alibaba.fastjson.JSON.parseObject(string, clazz);
    }

    @Override
    public boolean isRebind() {
        return true;
    }
}
